﻿Public Class Form1

    Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevo.Click

        Me.tbxApellido.Enabled = True
        Me.tbxNombres.Enabled = True
        Me.mtbxFechaNacimiento.Enabled = True
        Me.gbxSexo.Enabled = True
        Me.cbxTipoDocumento.Enabled = True
        Me.tbxDocumento.Enabled = True
        Me.tbxCalle.Enabled = True
        Me.tbxNumero.Enabled = True
        Me.ckbxActividad.Enabled = True
        Me.ckbxCasado.Enabled = True
        Me.ckbxHijos.Enabled = True
        Me.cbxCarrera.Enabled = True
        Me.btnGuardar.Enabled = True
        Me.btnCancelar.Enabled = True
        Me.tbxNombres.Text = ""
        Me.tbxDocumento.Text = ""
        Me.tbxCalle.Text = ""
        Me.tbxNumero.Text = ""
        Me.mtbxFechaNacimiento.Text = ""
        Me.tbxCantidad.Text = ""
        Me.cbxTipoDocumento.Text = ""
        Me.cbxCarrera.Text = ""
        Me.tbxApellido.Text = ""
        Me.tbxApellido.Focus()
        Me.ckbxActividad.Checked = False
        Me.ckbxCasado.Checked = False
        Me.ckbxHijos.Checked = False
        
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click

        If Len(Trim(Me.tbxApellido.Text)) = 0 Then
            MessageBox.Show("Ingrese un Apellido")
            Me.tbxApellido.Focus()
            Return
        Else
            If IsNumeric(Me.tbxApellido.Text) Then
                MessageBox.Show("Apellido ingresado incorrectamente, Por favor ingrese nuevamente")
                Me.tbxApellido.Text = ""
                Me.tbxApellido.Focus()
                Return
            End If
        End If

        If Len(Trim(Me.tbxNombres.Text)) = 0 Then
            MessageBox.Show("Ingrese un Nombre")
            Me.tbxNombres.Focus()
            Return
        Else
            If IsNumeric(Me.tbxNombres.Text) Then
                MessageBox.Show("Nombre ingresado incorrectamente, Por favor ingrese nuevamente")
                Me.tbxNombres.Text = ""
                Me.tbxNombres.Focus()
                Return
            End If
        End If

        If Len(Trim(Me.mtbxFechaNacimiento.Text)) = 0 Then
            MessageBox.Show("Ingrese Fecha de Nacimiento")
            Me.mtbxFechaNacimiento.Focus()
            Return
        End If

        If Len(Trim(Me.tbxDocumento.Text)) = 0 Then
            MessageBox.Show("Ingrese un Documento")
            Me.tbxDocumento.Focus()
            Return
        Else
            If IsNumeric(Me.tbxDocumento.Text) Then
            Else
                MessageBox.Show("Dni ingresado incorrectamente, Por favor ingrese nuevamente")
                Me.tbxDocumento.Text = ""
                Me.tbxDocumento.Focus()
                Return
            End If
        End If

        If Len(Trim(Me.tbxCalle.Text)) = 0 Then
            MessageBox.Show("Ingrese una Calle")
            Me.tbxCalle.Focus()
            Return
        Else
            If IsNumeric(Me.tbxCalle.Text) Then
                MessageBox.Show("Calle ingresada incorrectamente, Por favor ingrese nuevamente")
                Me.tbxCalle.Text = ""
                Me.tbxCalle.Focus()
                Return
            End If
        End If

        If Len(Trim(Me.tbxNumero.Text)) = 0 Then
            MessageBox.Show("Ingrese un Numero")
            Me.tbxNumero.Focus()
            Return
        Else
            If IsNumeric(Me.tbxNumero.Text) Then
            Else
                MessageBox.Show("Número ingresado incorrectamente, Por favor ingrese nuevamente")
                Me.tbxNumero.Text = ""
                Me.tbxNumero.Focus()
                Return
            End If
        End If

        If Me.tbxCantidad.Enabled = True Then
            If Len(Trim(Me.tbxCantidad.Text)) = 0 Then
                MessageBox.Show("Ingrese una Cantidad")
                Me.tbxCantidad.Focus()
                Return
            Else
                If IsNumeric(Me.tbxCantidad.Text) Then
                Else
                    MessageBox.Show("Cantidad ingresada incorrectamente, Por favor ingrese nuevamente")
                    Me.tbxCantidad.Text = ""
                    Me.tbxCantidad.Focus()
                    Return
                End If
            End If
        End If

    End Sub

    Private Sub mtbxFechaNacimiento_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles mtbxFechaNacimiento.MaskInputRejected

    End Sub

    Private Sub mtbxFechaNacimiento_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles mtbxFechaNacimiento.Validated
        If Not (Me.btnCancelar.Focused Or Me.btnSalir.Focused Or Me.btnNuevo.Focused) Then
            If IsDate(sender.Text) Then
                If Not sender.Text = Format(CDate(sender.text), "dd/mm/yyyy") Then
                Else
                    MsgBox("Fecha invalida", vbOKOnly + vbCritical, "Atención")
                    sender.Focus()
                    Exit Sub
                End If
            Else
                MsgBox("Fecha invalida", vbOKOnly + vbCritical, "Atención")
                sender.Focus()
                Exit Sub
            End If
        End If
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MessageBox.Show("Está seguro que quiere salir del formulario", "Importante", _
        MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = _
        Windows.Forms.DialogResult.OK Then
            e.Cancel = False
        Else
            e.Cancel = True
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.tbxApellido.Enabled = False
        Me.tbxNombres.Enabled = False
        Me.mtbxFechaNacimiento.Enabled = False
        Me.gbxSexo.Enabled = False
        Me.cbxTipoDocumento.Enabled = False
        Me.tbxDocumento.Enabled = False
        Me.tbxCalle.Enabled = False
        Me.tbxNumero.Enabled = False
        Me.ckbxActividad.Enabled = False
        Me.ckbxCasado.Enabled = False
        Me.ckbxHijos.Enabled = False
        Me.tbxCantidad.Enabled = False
        Me.cbxCarrera.Enabled = False
        Me.btnGuardar.Enabled = False
        Me.btnCancelar.Enabled = False

        Me.tbxApellido.TabIndex = 1
        Me.tbxNombres.TabIndex = 2
        Me.mtbxFechaNacimiento.TabIndex = 3
        Me.gbxSexo.TabIndex = 4
        Me.cbxTipoDocumento.TabIndex = 5
        Me.tbxDocumento.TabIndex = 6
        Me.tbxCalle.TabIndex = 7
        Me.tbxNumero.TabIndex = 8
        Me.ckbxActividad.TabIndex = 9
        Me.ckbxCasado.TabIndex = 10
        Me.ckbxHijos.TabIndex = 11
        Me.tbxCantidad.TabIndex = 12
        Me.cbxCarrera.TabIndex = 13
        Me.btnNuevo.TabIndex = 14
        Me.btnGuardar.TabIndex = 15
        Me.btnCancelar.TabIndex = 16
        Me.btnBuscar.TabIndex = 17
        Me.btnSalir.TabIndex = 18
        Me.lbxAlumnosIngresados.TabIndex = 19

    End Sub

    Private Sub btnSalir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSalir.Click
        Me.Close()
    End Sub

    Private Sub ckbxHijos_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ckbxHijos.CheckedChanged
        If Me.ckbxHijos.Checked = True Then
            tbxCantidad.Enabled = True
        Else
            tbxCantidad.Enabled = False
        End If
    End Sub
End Class